<?php
class String
{
   public $length  = 5;
}
// Utworzenie egzemplarza klasy ReflectionProperty.
$prop = new ReflectionProperty('String', 'length');
// Wywietlenie informacji podstawowych.
printf(
   "===> To jest waciwo '%s' typu %s%s%s%s (ktra zostaa %s)\n" .
   "     posiadajca nastpujce modyfikatory dostpu %s\n",
       $prop->isPublic() ? ' public' : '',
       $prop->isPrivate() ? ' private' : '',
       $prop->isProtected() ? ' protected' : '',
       $prop->isStatic() ? ' static' : '',
       $prop->getName(),
       $prop->isDefault() ? 'zadeklarowana w trakcie kompilacji' :
                                     'utworzona w trakcie dziaania programmu',
       var_export(Reflection::getModifierNames(
                                   $prop->getModifiers()), 1)
      );
// Utworzenie nowego egzemplarza String.
$obj= new String();
// Pobranie wartoci biecej.
printf("---> Warto wynosi: ");
var_dump($prop->getValue($obj));
// Zmiana wartoci.
$prop->setValue($obj, 10);
printf("---> Zmiana wartoci na 10, nowa warto wynosi: ");
var_dump($prop->getValue($obj));
// Zrzucenie obiektu.
var_dump($obj);
?>
